package com.innodata.riskEngine.common.pojo;

import java.io.Serializable;
import java.util.Objects;

public class SinkPO implements Serializable {

    private static final long serialVersionUID = -7451234883520627138L;

    /**
     * 银行号
     */
    private String bank;
    /**
     * 渠道：商城-mall；花积分-huajifen；游戏-game
     */
    private String channel;
    /**
     * 预警信息
     */
    private String alertMessage;
    /**
     * 用户ID
     */
    private String userId;
    /**
     * 活动ID
     */
    private String campaignId;
    /**
     * 手机号
     */
    private String mobileNo;
    /**
     * 商品ID
     */
    private String productId;
    /**
     * 预警类型：user-用户级别；product-商品级别
     */
    private String ruleType;
    /**
     * 商品类型
     */
    private String productType;
    /**
     * 用户下单件数/活动商品下单简述
     */
    private Long orderNum;

    // setter and getter

    public String getBank() {
        return bank;
    }

    public void setBank(String bank) {
        this.bank = bank;
    }

    public String getChannel() {
        return channel;
    }

    public void setChannel(String channel) {
        this.channel = channel;
    }

    public String getAlertMessage() {
        return alertMessage;
    }

    public void setAlertMessage(String alertMessage) {
        this.alertMessage = alertMessage;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getCampaignId() {
        return campaignId;
    }

    public void setCampaignId(String campaignId) {
        this.campaignId = campaignId;
    }

    public String getMobileNo() {
        return mobileNo;
    }

    public void setMobileNo(String mobileNo) {
        this.mobileNo = mobileNo;
    }

    public String getProductId() {
        return productId;
    }

    public void setProductId(String productId) {
        this.productId = productId;
    }

    public String getRuleType() {
        return ruleType;
    }

    public void setRuleType(String ruleType) {
        this.ruleType = ruleType;
    }

    public String getProductType() {
        return productType;
    }

    public void setProductType(String productType) {
        this.productType = productType;
    }

    public Long getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(Long orderNum) {
        this.orderNum = orderNum;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        SinkPO sinkPO = (SinkPO) o;
        return Objects.equals(bank, sinkPO.bank) && Objects.equals(channel, sinkPO.channel) && Objects.equals(alertMessage, sinkPO.alertMessage) && Objects.equals(userId, sinkPO.userId) && Objects.equals(campaignId, sinkPO.campaignId) && Objects.equals(mobileNo, sinkPO.mobileNo) && Objects.equals(productId, sinkPO.productId) && Objects.equals(ruleType, sinkPO.ruleType) && Objects.equals(productType, sinkPO.productType) && Objects.equals(orderNum, sinkPO.orderNum);
    }

    @Override
    public int hashCode() {
        return Objects.hash(bank, channel, alertMessage, userId, campaignId, mobileNo, productId, ruleType, productType, orderNum);
    }

    @Override
    public String toString() {
        return "SinkPO{" +
                "bank='" + bank + '\'' +
                ", channel='" + channel + '\'' +
                ", alertMessage='" + alertMessage + '\'' +
                ", userId='" + userId + '\'' +
                ", campaignId='" + campaignId + '\'' +
                ", mobileNo='" + mobileNo + '\'' +
                ", productId='" + productId + '\'' +
                ", ruleType='" + ruleType + '\'' +
                ", productType='" + productType + '\'' +
                ", orderNum=" + orderNum +
                '}';
    }
}
